Date.prototype.format = function (format) {
    var args = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "h+": this.getHours(),
        "m+": this.getMinutes(),
        "s+": this.getSeconds(),
        "q+": Math.floor((this.getMonth() + 3) / 3), 
        "S": this.getMilliseconds()
    };
    if (/(y+)/.test(format))
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var i in args) {
        var n = args[i];
        if (new RegExp("(" + i + ")").test(format))
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length));
    }
    return format;
};

/**
 * 构建数据表格
 * @param tableId
 * @param tableData
 * @returns
 */
//function DataTable(tableId,tableData){
//	$("#"+tableId +" tr:not(:first)").empty("");  
//	if(tableData != null && tableData.length>0){
//		for(var i=0;i<tableData.length;i++){
//			var t_row  = $("<tr></tr>");
//			var data_row = tableData[i];
//			for(var j=0;j<data_row.length;j++){
//				var t_cell = $("<td></td>");
//				t_cell.html(data_row[j]);
//				t_row.append(t_cell)
//			}
//			$("#"+tableId).append(t_row);
//		}
//	}else{
//		var t_row  = $("<tr></tr>");
//		var t_cell = $("<td> 暂无数据  ... </td>");
//		t_row.append(t_cell);
//		$("#"+tableId).append(t_row);
//	}
//}
function DataTable(tableId,tableData){
	//清除表格数据
    var table = $('#'+tableId).dataTable();
    table.fnClearTable();
    //table.destroy();
    table.fnDestroy();
	if(tableData == null || tableData.length==0){
		tableData = [];
	}
	$.fn.dtconfig = {
		info : false,
		paging : false,
		processing : true,
		responsive: true,
		lengthChange: false,
		pageLength :10,//默认每页显示多少条记录
		scrollX : false,
		ordering:false,
		searching: false,
		serverSide: false,
		oLanguage: {                       //汉化
			"sLengthMenu": "每页显示 _MENU_ 条记录",
			"sZeroRecords": "没有检索到数据 ...",
			"sInfo": "第 _START_ 条 到 第 _END_ 条（共 _TOTAL_ 条记录）",
			"sInfoEmtpy": "没有数据",
			"sInfoFiltered":'',//设置为空 相当于删除 (从 _MAX_ 条中过滤)
			"sProcessing": "正在加载数据...",
			"oPaginate": {
				"sFirst": "首页",
				"sLast": "末页",
				"sNext": "下一页",
				"sPrevious": "上一页"
			}
		},
		data:tableData
	}
	return $('#'+tableId).DataTable( $.fn.dtconfig );
}
/**
 * 构建分页
 * @param divid
 * @param pageIndex
 * @param pageSize
 * @param count
 * @param callback
 * @returns
 */
function DataPaginator(divid, pageIndex, pageSize, count, callback) {
	var totalPage = 0;
	if (count == 0) {
		$('#' + divid).css('display', 'none');
		return;
	} else {
		$('#' + divid).css('display', 'block');
	}
	if (count % pageSize == 0) {
		totalPage = count / pageSize;
	} else {
		totalPage = (count - count % pageSize) / pageSize + 1;
	}
	var options = {
		alignment : "right",
		currentPage : pageIndex,
		totalPages : totalPage,
		numberOfPages : 5,
		itemTexts : function(type, page, current) {
			switch (type) {
			case "first":
				return "首页";
			case "prev":
				return "上一页";
			case "next":
				return "下一页";
			case "last":
				return "末页";
			case "page":
				return page;
			}
		},
		onPageClicked : function(event, originalEvent, type, page) {
			var size = pageSize;
			callback(page, size);
		}
	}
	$('#' + divid).bootstrapPaginator(options);
}

/**
 * 封装GET请求参数
 * @param url 基础URl
 * @param params {}对象型数据
 * @returns
 */
function toUrl(url, params){
    var paramsArr = [];
    if (params) {
     	for ( var item in params){
     		var value = params[item];
        	if(!isNaN(value) || (isNaN(value) && value!="" && value !=null)){
        		paramsArr.push(item + '=' + value);
        	}
   		}
        if (url.search(/\?/) === -1) {
            url += '?' + paramsArr.join('&');
        } else {
            url += '&' + paramsArr.join('&');
        }

    }
    return encodeURI(url);
}